// pages/index/index.js
const app = getApp()

Page({
  data: {
    userInfo: null,
    hasUserInfo: false,
    canIUseGetUserProfile: false,
    canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl')
  },

  onLoad() {
    console.log('首页加载')
    this.checkLoginStatus()
  },

  onShow() {
    console.log('首页显示')
    this.checkLoginStatus()
  },

  // 检查登录状态
  checkLoginStatus() {
    const token = app.globalData.token
    const userInfo = app.globalData.userInfo
    
    if (token && userInfo) {
      this.setData({
        userInfo: userInfo,
        hasUserInfo: true
      })
    } else {
      this.setData({
        userInfo: null,
        hasUserInfo: false
      })
    }
  },

  // 处理登录
  handleLogin() {
    wx.showLoading({
      title: '登录中...',
    })
    
    // 获取微信code
    app.wxLogin().then(code => {
      // 调用后端登录接口
      return app.request({
        url: '/auth/wx-login',
        method: 'POST',
        data: {
          code: code
        }
      })
    }).then(res => {
      wx.hideLoading()
      
      // 保存token和用户信息
      app.globalData.token = res.token
      app.globalData.userInfo = res.userInfo
      
      this.setData({
        userInfo: res.userInfo,
        hasUserInfo: true
      })
      
      wx.showToast({
        title: '登录成功',
        icon: 'success'
      })
    }).catch(err => {
      wx.hideLoading()
      console.error('登录失败:', err)
      
      wx.showToast({
        title: '登录失败，请重试',
        icon: 'none'
      })
    })
  },

  // 导航到待办页面
  navigateToTodo() {
    if (!this.data.hasUserInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      })
      return
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    })
  },

  // 导航到打卡页面
  navigateToCheckin() {
    if (!this.data.hasUserInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      })
      return
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    })
  },

  // 导航到日历页面
  navigateToCalendar() {
    if (!this.data.hasUserInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      })
      return
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    })
  },

  // 导航到统计页面
  navigateToStatistics() {
    if (!this.data.hasUserInfo) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      })
      return
    }
    
    wx.showToast({
      title: '功能开发中',
      icon: 'none'
    })
  },

  // 获取用户信息
  getUserProfile() {
    wx.getUserProfile({
      desc: '用于完善会员资料',
      success: (res) => {
        app.globalData.userInfo = res.userInfo
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  }
})